home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 32
/
64er_Magazin_Sonderheft_32_19xx_Markt__Technik_de_Side_A.d64
/
ultraformat v2
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
6KB
|
167 lines
100 rem ***** ultraformat v2.0 *****
110 : : : : :
120 rem ***** ueberarbeitung : *****
130 rem ***** frank berkner *****
140 rem ***** am gruenen weg 14 *****
150 rem ***** 5024 pulheim 2 *****
160 :
170 poke53280,.:poke53281,.:poke53272,23
175 open1,8,15,"ui":print#1,"i"
180 print"[147][158]***** [213] l t r a f o r m a t [214]2.0 *****"
190 g$(1)="[199]anze [196]iskette formatieren[146]"
200 g$(.)="[206]ur [211]pur 36-41 formatieren[146]"
210 g$(2)="[213]mschaltprogramme ersetzen[146]"
220 g=1:printg$(1);g$(.);g$(2)
230 print"[193]uswahl mit [195]ursortasten und [210]eturn[146]"
240 print""g$(g):wait198,1:getg$
260 ifg$=chr$(13)then320
270 ifg$=""thenifg=1thenprintg$(g):g=.:goto240
280 ifg$=""thenifg=.thenprintg$(g):g=2:goto240
290 ifg$="[145]"thenifg=.thenprintg$(g):g=1:goto240
300 ifg$="[145]"thenifg=2thenprintg$(g):g=.:goto240
310 goto240
320 ifg=1thengosub1190
330 ifg=2thengoto1330
340 print"[196]iskswitches abspeichern :[158]"
345 print"1[146]) [206]ormal als [208][210][199] (belegt 2 [194]loecke)"
350 print"2[146]) [193]uf [212]rack 18 (belegt 0 [194]loecke)"
360 wait198,1:geta$
370 ifa$="1"theny=1
380 ifa$<>"1"anda$<>"2"then360
390 rem ***** vorbereitungen
400 open2,8,2,"#1"
410 print#1,"m-w"chr$(81)chr$(.)chr$(1)chr$(255)
420 print#1,"m-w"chr$(.)chr$(.)chr$(1)chr$(192)
430 print#1,"m-w"chr$(8)chr$(.)chr$(2)chr$(36)chr$(.)
440 print#1,"m-w"+chr$(7)+chr$(28)+chr$(1)+chr$(15)
450 rem ***** uebertragung
460 a$="":forx=.to32:reada:a$=a$+chr$(a):next
470 print#1,"b-p"2;.:print#2,a$;
480 rem ***** formatierung
490 print#1,"m-w"chr$(1)chr$(.)chr$(1)chr$(224)
500 rem ***** datas einlesen
510 forq=.to72:reada:no$=no$+chr$(a):next
520 forq=.to195:reada:d$(2)=d$(2)+chr$(a):next
530 forq=.to195:reada:d$(3)=d$(3)+chr$(a):next
540 rem ***** warten auf formatende
550 print#1,"m-r"chr$(1)chr$(.)chr$(1):get#1,a$:ifasc(a$+chr$(.))>127then550
560 rem ***** direktory-generator
570 gosub1100:print#1,"u1"2;.;18;.
580 gosub1140:print#1,"b-p"2;4
590 a$="":forx=4to71:a$=a$+chr$(.):next
600 a$=a$+chr$(17)+chr$(252)+chr$(255)+chr$(7)
610 forx=76to95step4:a$=a$+chr$(19)+chr$(255)+chr$(255)+chr$(7):next
620 forx=96to143:a$=a$+chr$(.):next:print#2,a$;
630 print#1,"b-p"2;162:print#2,"oben ";
640 print#1,"u2"2;.;18;.
650 rem ***** nothilfe-generator
660 print#1,"b-p"2;.
670 a$=chr$(.)+chr$(255)+chr$(130)+chr$(18)+chr$(2)+"nicht validieren"
680 forx=22to255:a$=a$+chr$(.):next
690 print#2,a$;:print#1,"u2"2;.;18;1
700 print#1,"b-p"2;.
710 a$=chr$(.)+chr$(79)+chr$(.)+chr$(4)+no$
720 print#2,a$;:print#1,"u2"2;.;18;2
730 gosub1100
740 rem ***** diskswitches schreiben
750 ifythen1230: rem normal ?
760 rem ***** 0 block
770 print#1,"u1"2;.;18;.:print#1,"b-p"2;73:v=1:s=.
780 get#2,x$:x=asc(x$+chr$(.))
790 forj=.to7:x=x/2:ifx<>int(x)theng(v)=s:v=v+1
800 ifv=4then840
810 s=s+1:x=int(x):next
820 ifs>18thenclose2:goto1240
830 goto780
840 forz=1to2:ifz=1thenn$=" c000":k=.:l=192:v=2
850 if z=2thenn$=" 033c":k=60:l=3:v=3
860 t=18:s=1
870 print#1,"u1"2;.;t;s:print#1,"b-p"2;.
880 get#2,t1$,s1$:t1=asc(t1$+chr$(.)):s1=asc(s1$+chr$(.))
890 ift1thent=t1:s=s1:goto870
900 forq=.to7:print#1,"b-p"2;q*32+2
910 get#2,x$:ifasc(x$+chr$(.))=0then 930
920 next
930 print#1,"b-p";2;q*32+2
940 a$=chr$(130)+chr$(18)+chr$(g(v))+"diskswitch"+n$+chr$(160):print#2,a$;
950 print#1,"b-p"2;q*32+30:print#2,chr$(.);chr$(.)
955 print#1,"b-p"2;.:print#2,chr$(.)
960 print#1,"u2 2 0";t;s
970 rem ***** datas schreiben
980 print#1,"b-p 2";.
990 a$=chr$(.)+chr$(199)+chr$(k)+chr$(l)
1000 forq=.to.:a$=a$+d$(v):next
1010 print#2,a$;:print#1,"u2"2;.;18;g(v)
1020 print#1,"b-a";.;18;g(v)
1030 next
1040 rem ***** ende
1050 input#1,a,b$,c,d:printa;b$;c;d
1060 close2:close1:end
1070 :
1080 rem ***** unterprogramme
1090 rem ***** spurschaltprogramme
1100 print#1,"m-w"chr$(6)chr$(.)chr$(2)chr$(1)chr$(.)
1110 print#1,"m-w"chr$(.)chr$(.)chr$(1)chr$(128)
1120 print#1,"m-r"chr$(.)chr$(.)chr$(1):get#1,a$:ifasc(a$+chr$(.))>127then1120
1130 return
1140 print#1,"m-w"chr$(6)chr$(.)chr$(2)chr$(36)chr$(.)
1150 print#1,"m-w"chr$(.)chr$(.)chr$(1)chr$(176)
1160 print#1,"m-r"chr$(.)chr$(.)chr$(1):get#1,a$:ifasc(a$+chr$(.))>127then1160
1170 return
1180 rem ***** normal formatieren
1190 input"disk-name";n$:n$=left$(n$,12)
1200 input"disk-id ";id$:id$=left$(id$,2)
1210 print#1,"n:"+n$+","+id$:print#1,"i"
1215 input#1,a,b$,c,d:ifathenprinta;b$;c;d:close1:end
1220 return
1230 rem ***** diskswitches normal
1240 k=49152:n$=" c000":v=2:gosub1270
1250 k=828:n$=" 033c":v=3:gosub1270
1260 goto1050
1270 open3,8,2,"diskswitch"+n$+",p,w"
1280 input#1,a,b$,c,d:ifathenprinta;b$;c;d:close3:goto1060
1290 print#3,chr$(int(k-int((k/256))*256))chr$(int(k/256));
1300 print#3,d$(v);:close3
1310 return
1320 rem ***** diskswitches ersetzen
1330 print" [196]iskette einlegen !":wait198,1:geta$
1340 print#1,"s:diskswitch*"
1350 open2,8,2,"#":forq=.to105:reada:next
1360 forq=.to195:reada:d$(2)=d$(2)+chr$(a):next
1370 forq=.to195:reada:d$(3)=d$(3)+chr$(a):next:goto770
1372 :
1375 rem ***** datas *****
1380 :
1390 rem format-datas
1400 data165,81,201,255,240,24,165,81,201,1,208,6,169,18,133,81,133,34
1410 data165,81,201,25,208,6,169,36,133,81,133,34,76,199,250
1420 rem nothilfe datas
1430 data169,7,133,183,169,1,133,184,169,15,133,185,169,8,133,186,169,65,133
1435 data187,169,4,133,188,32,192,255,169,1,32,195,255,169,1,133,183,169,8
1440 data133,184,169,15,133,185,169,8,133,186,169,72,133,187,169,4,133,188,32
1445 data192,255,169,255,32,195,255,96,77,45,87,0,0,1,192,73
1450 rem von 49152 - 49347
1460 data169,11,141,24,3,169,192,141,25,3,96,120,169,161,141,24,3
1470 data169,2,133,183,169,20,133,184,169,15,133,185,169,8,133,186,169
1480 data193,133,187,169,192,133,188,32,192,255,169,20,32,195,255,173,162
1490 data192,240,11,32,109,192,169,0,141,162,192,76,142,192,32,76,192
1500 data169,1,141,162,192,76,142,192,169,9,133,183,169,163,133,187,32
1510 data192,255,169,20,32,195,255,169,8,133,183,169,171,133,187,32,192
1520 data255,169,20,32,195,255,96,169,9,133,183,169,178,133,187,32,192
1530 data255,169,20,32,195,255,169,8,133,183,169,186,133,187,32,192,255
1540 data169,20,32,195,255,96,169,2,133,183,169,193,133,187,32,192,255
1550 data169,20,32,195,255,32,0,192,64,1,77,45,87,6,0,2,36
1560 data0,77,45,87,0,0,1,176,77,45,87,6,0,2,1,0,77,45,87,0,0,1,128,73,68,78
1570 rem von 828 - 1023
1580 data169,71,141,24,3,169,3,141,25,3,96,120,169,221,141,24,3
1590 data169,2,133,183,169,20,133,184,169,15,133,185,169,8,133,186,169
1600 data253,133,187,169,3,133,188,32,192,255,169,20,32,195,255,173,222
1610 data3,240,11,32,169,3,169,0,141,222,3,76,202,3,32,136,3
1620 data169,1,141,222,3,76,202,3,169,9,133,183,169,223,133,187,32
1630 data192,255,169,20,32,195,255,169,8,133,183,169,231,133,187,32,192
1640 data255,169,20,32,195,255,96,169,9,133,183,169,238,133,187,32,192
1650 data255,169,20,32,195,255,169,8,133,183,169,246,133,187,32,192,255
1660 data169,20,32,195,255,96,169,2,133,183,169,253,133,187,32,192,255
1670 data169,20,32,195,255,32,60,3,64,1,77,45,87,6,0,2,36
1680 data0,77,45,87,0,0,1,176,77,45,87,6,0,2,1,0,77,45,87,0,0,1,128,73,68,0